package voice

type Client interface {
	Call(msg *Message) error
}

type Message struct {
	TemplateID string `json:"templateID"` //模板id
	Phone      string `json:"phone"`      //手机号
	Param      string `json:"param"`      //参数,阿里云是json,腾讯云是列表,隔开
}

type Option struct {
	Model     int    `json:"model"`     //0是腾讯云,1是阿里云
	SecretID  string `json:"secretID"`  //
	SecretKey string `json:"secretKey"` //
	SignName  string `json:"signName"`  //签名
	AppID     string `json:"appID"`     //腾讯云用
}

func New(op *Option) Client {
	switch op.Model {
	case 1: //阿里云
		return op.aliyun()
	default: //腾讯云
		//return op.tencent()
	}
	return op.aliyun()
}
